namespace LiJ.Pay.WeiXin.Pay.Mos
{
	/// <summary>
	///  请求退款实体
	/// </summary>
	public class WxPayRefundReq : WxPayBaseReq
	{
		/// <summary>   
		///    设备号 可空 String(32) 终端设备号
		/// </summary>  
		public string device_info
		{
			get;
			set;
		}

		/// <summary>   
		///    微信交易订单号 和商户订单号二选一 String(28) 微信生成的订单号，在支付通知中有返回
		/// </summary>  
		public string transaction_id
		{
			get;
			set;
		}

		/// <summary>   
		///    商户订单号 String(32) 
		/// </summary>
		public string out_trade_no
		{
			get;
			set;
		}

		/// <summary>   
		///    商户退款单号 必填 String(32) 商户系统内部的退款单号，商户系统内部唯一，同一退款单号多次请求只退一笔
		/// </summary>  
		public string out_refund_no
		{
			get;
			set;
		}

		/// <summary>   
		///    订单金额 必填 Int 订单总金额，单位为分，只能为整数，详见支付金额
		/// </summary>  
		public int total_fee
		{
			get;
			set;
		}

		/// <summary>   
		///    退款金额 必填 Int 退款总金额，订单总金额，单位为分，只能为整数，详见支付金额
		/// </summary>  
		public int refund_fee
		{
			get;
			set;
		}

		/// <summary>   
		///    货币种类 可空 String(8) 货币类型，符合ISO 4217标准的三位字母代码，默认人民币：CNY，其他值列表详见货币类型
		/// </summary>  
		public string refund_fee_type
		{
			get;
			set;
		}

		/// <summary>   
		///    操作员 必填 String(32) 操作员帐号, 默认为商户号
		/// </summary>  
		public string op_user_id
		{
			get;
			set;
		}

		/// <summary>   
		///    退款资金来源 可空 String(30) 仅针对老资金流商户使用 REFUND_SOURCE_UNSETTLED_FUNDS---未结算资金退款（默认使用未结算资金退款）REFUND_SOURCE_RECHARGE_FUNDS---可用余额退款
		/// </summary>  
		public string refund_account
		{
			get;
			set;
		}

		protected override void SetSignDics()
		{
			base.SetDicItem("device_info", this.device_info);
			base.SetDicItem("transaction_id", this.transaction_id);
			base.SetDicItem("out_trade_no", this.out_trade_no);
			base.SetDicItem("out_refund_no", this.out_refund_no);
			base.SetDicItem("total_fee", this.total_fee);
			base.SetDicItem("refund_fee", this.refund_fee);
			base.SetDicItem("refund_fee_type", this.refund_fee_type);
			base.SetDicItem("op_user_id", this.op_user_id);
			base.SetDicItem("refund_account", this.refund_account);
		}
	}
}
